const { regeneratorRuntime, util, api } = global
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    //判断小程序的API，回调，参数，组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    url: null,
    phoneBtn: false,
    userInfo: null,
    openId: null,
    userRegInfo: {
      nickname: null,
      coverPic: null,
      sex: "unkown",
      mobile: ""
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    this.setData({ url: options.url })
    // 查看是否授权
    let setting = await api.wxGetSetting()
    if (setting.authSetting['scope.userInfo']) {
      // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
      let userInfo = await api.wxGetUserInfo()
      this.setData({ userInfo })
    }
  },

  async bindGetUserInfo(e) {
    let { userInfo } = this.data
    if (e.detail.userInfo) {
      userInfo = e.detail.userInfo
      let data = {
        nickname: userInfo.nickName,
        coverPic: userInfo.avatarUrl,
        sex: ['unkown', 'male', 'female'][userInfo.gender],
        openId: app.globalData.openId
      }

      //用户注册
      let result = await api.system.register(data)
      console.log(result)
      if (!result) {
        util.showMsg("系统错误")
      } else {
        this.userLogin()
      }
    } else {
      wx.showModal({
        title: '警告',
        content: '您点击了拒绝授权，将无法进入小程序，请重新点击并授权!',
        showCancel: false,
        confirmText: '返回授权',
        success: function (res) {
          if (res.confirm) {
            console.log('用户点击了“返回授权”')
          }
        }
      })
      return
    }
  },

  async userLogin() {
    wx.switchTab({
      url: decodeURIComponent(this.data.url)
    });
    wx.redirectTo({
      url: decodeURIComponent(this.data.url)
    });
  },
  returnPage() {
    wx.switchTab({
      url: decodeURIComponent(this.data.url)
    });
    wx.redirectTo({
      url: decodeURIComponent(this.data.url)
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () { },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () { },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () { },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () { },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () { },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () { },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return {
      path: "/pages/index/index",
      success: function (res) { }
    };
  }
});
